The present invention relates to a method for simulating stable but non-dissipative water.
More particularly, this invention relates to a physically based method for simulating stable but non-dissipative water.
Water, which covers two thirds of the earth, undergoes myriad types of motion in its constant interactions with air, solids, and living creatures. Water has featured prominently in several recent feature animations, including Finding Nemo™ and Perfect Storm™. The success of those movies depended greatly on visual effects in the animation of water. Physically based approaches have been shown to effectively reproduce water movement, with quite impressive results.
However, several open challenges remain in this field. One key issue is speeding up the simulation of water. In the case of gaseous phenomena, interactive simulation methods already have been introduced by [Stam 1999]. The method is called semi-Lagrangian “stable fluids”, which allows a large simulation time step to be used without causing instabilities. Unfortunately, this method is known to suffer from large amounts of numerical dissipation, which results in loss of mass. This is not important when simulating dissipative media such as fog or smoke, but it is not tolerable when animating intrinsically non-dissipative substances like water. Another undesirable property of the stable fluids method that must be noted is numerical diffusion, which dampens the fluid motion. Although damping is an inherent property of all fluids, the damping caused by numerical diffusion in the stable fluids method is too severe. Therefore, if we wish to simulate water using an approach based on the stable fluids method, we must modify that method so as to prevent the numerical dissipation and reduce the numerical diffusion.
The present invention presents a new physically based method for simulating water. The proposed method, which is based on the semi-Lagrangian “stable fluids”, retains the speed and stability of the stable fluids technique while additionally including mechanisms to fix the problems of numerical dissipation and diffusion. To obtain nondissipative water, we adopt the constrained interpolation profile (CIP) method, which has been shown to remarkably reduce dissipation due to the use of coarse grids. To prevent dissipation due to the use of a large time step, we propose a novel particle-based approach, which we show to be quite effective at preventing dissipation of small-scale features. This particle-based approach is also used to simulate droplets and bubbles, which contributes to the overall visual realism. In addition, compared to existing methods, the proposed method simulates water-air interactions more accurately by employing the multiphase dynamic equations that account for the presence of air.
Early work on physically based simulation of water for graphics applications concentrated on animating the height-field representation of the water surface. To obtain interactive performance, researchers used the two dimensional (2D) approximation of the Navier-Stokes equations. Kass and Miller [1990] generated the height fields using an approximate version of the 2D shallow water equations. To simulate water-object interactions, Chen and Lobo [1995] solved the 2D Navier-Stokes equation that includes pressure. O'Brien and Hodgins [1995] proposed a method for simulating splashing liquids by integrating a particle system into a 2D height field model.
Height fields cannot be used to represent water that is undergoing a highly dynamic motion such as pouring. To handle such motions, researchers turned to the 3D Navier-Stokes equations. Foster and Metaxas [1996; 1997a] animated 3D liquids by modifying the Marker and Cell method proposed by Harlow and Welch [1965]. In addition, Foster and Metaxas simulated gases by using an explicit finite difference approximation of the Navier-Stokes equations [1997b]. Stam [1999] introduced the unconditionally stable fluid model, which utilizes the semi-Lagrangian method in combination with an implicit solver. This model gave significantly improved simulation speeds, but suffered from numerical dissipation. To reduce the dissipation in simulations of gaseous fluids, Fedkiw et al. [Fedkiw et al. 2001] proposed the use of vorticity confinement and cubic interpolation. Based on the stable semi-Lagrangian framework, Treuille et al. [2003] proposed a constrained optimization technique for keyframe control of smoke simulations, Rasmussen et al. [2003] proposed an efficient method for depicting large-scale gaseous phenomena, and Feldman et al. [2003] proposed an explosion model that incorporated a particle-based combustion model into the semi-Lagrangian framework.
In order to handle 3D liquids, the semi-Lagrangian scheme must be augmented with a robust and accurate method for tracking the liquid surface. To address this issue, Foster and Fedkiw [2001] proposed a novel method for representing a dynamically evolving liquid surface, which was based on combining the level set method with massless marker particles. Enright et al. [2002] improved this hybrid scheme by introducing the “particle level set method” which could capture water surface with a remarkable accuracy. Takahashi et al. [2003] simulated multiphase fluids by employing the CIP method coupled with the volume of fluid scheme; their method simulated the water-air interaction properly, instead of simulating water in a void space. When we are to animate water at an interactive rate, as demonstrated by Stam [1999] in the case of gas, then the use of large time steps should be allowed. But it can cause dissipation of mass. In [Foster and Fedkiw 2001; Enright et al. 2002], the time step size had to be restricted to prevent loss of mass. Although the CIP scheme used by Takahashi et al. [2003] lessened the degree of the dissipation, loss of mass was still noticeable when large time steps were used.
Several particle-based methods have been proposed as alternatives to the above grid-based approaches. Miller and Pearce [1989] simulated fluid behavior using particles connected with viscous springs. Terzopoulos et al. [1989] adopted a molecular dynamics model to simulate particles in the liquid phase. Stam and Fiume [1995] introduced “smoothed particle hydrodynamics” (SPH) to depict fire and gaseous phenomena. In SPH, the fluid is modeled as a collection of particles with a smoothed potential field. Premo{hacek over ( )}ze et al. [2003] introduced the use of the moving particle semi-implicit method (MPS) for simulating incompressible multiphase fluids. One drawback of particle-based methods is that, if insufficient particles are used, they tend to produce grainy surfaces. To prevent this, a sufficiently large number of particles must be used, which increases the computational cost.
Accordingly, a need for a method for simulating stable but non-dissipative water has been present for a long time. This invention is directed to solve these problems and satisfy the long-felt need.